package com.xinghen.common.base.model.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinghen.common.base.GlobalConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author xinghen
 * @ClassName: MessageQueryDto
 * @Package: com.xinghen.common.base.model.dto
 * @Description 消息查询DTO
 * @create 2018-04-17 14:05
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel
public class MessageQueryDto extends BaseQuery {

    /**
     * 消息key
     */
    @ApiModelProperty(value = "messageKey")
    private String messageKey;

    /**
     * message Tag
     */
    @ApiModelProperty(value = "messageTag")
    private String messageTag;

    /**
     * 发送状态
     */
    @ApiModelProperty(value = "发送状态")
    private String messageStatus;

    /**
     * 生产者组ID
     */
    @ApiModelProperty(value = "PID")
    private String producerGroup;

    /**
     * 消息类型
     */
    @ApiModelProperty(value = "消息类型")
    private String messageType;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间")
    @DateTimeFormat(pattern = GlobalConstant.Time.COMMON_FORMAT_PATTERN)
    @JsonFormat(pattern = GlobalConstant.Time.COMMON_FORMAT_PATTERN, timezone = GlobalConstant.Time.DEFAULT_TIME_ZONE)
    private Date startQueryTime;

    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间")
    @DateTimeFormat(pattern = GlobalConstant.Time.COMMON_FORMAT_PATTERN)
    @JsonFormat(pattern = GlobalConstant.Time.COMMON_FORMAT_PATTERN, timezone = GlobalConstant.Time.DEFAULT_TIME_ZONE)
    private Date endQueryTime;

}
